package com.es.code.user.service;

import com.es.code.commons.ResultData;
import com.es.code.user.vo.UserVo;

/**
 * @author jichf
 * @Description
 * @create 2021-11-04 9:46
 */
public interface EsUserService {
    /**
     * 创建索引
     * @return
     */
    ResultData createEsIndex();

    /**
     * 删除索引
     * @return
     */
    ResultData deleteEsIndex();

    /**
     * 是否存在索引
     * @return
     */
    ResultData existEsIndex();

    /**
     * 保存一个文档
     * @param userVo
     * @return
     */
    ResultData saveEsDoc(UserVo userVo);


    /**
     * 根据名称获取文档
     * @param name
     * @return
     */
    ResultData queryByName(String name);

    /**
     * 根据id获取文档
     * @param id
     * @return
     */
    ResultData queryById(Long id);


    //---------------- 复杂查询 接口------------------

    /**
     * 根据某些条件查询
     * @param userVo
     * @return
     */
    ResultData queryByUser(UserVo userVo);

    /**
     * 高亮查询
     * @param fields 高亮查询的字段
     * @return
     */
    ResultData queryHighLight(String ...fields);

//    /**
//     * 根据名称删除文档
//     * @param name
//     * @return
//     */
//    ResultData deleteESUserByName(String name);
}
